package com.xq.service.impl;

import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import com.alibaba.fastjson.JSONObject;
import com.xq.entity.CityInfo;
import com.xq.mapper.CityInfoMapper;
import com.xq.service.ExcelService;
import com.xq.vo.CityResult;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.RichTextString;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;

@Service
public class ExcelServiceImpl implements ExcelService {



    public void excel(InputStream inputStream, HttpServletResponse response){
        try {
            ExcelReader excelReader = ExcelUtil.getReader(inputStream);
            //获取sheet
            Sheet sheet = excelReader.getSheet();
            //设置第2行的，第二列数据
            sheet.getRow(1).getCell(1).setCellValue("发证单位:上海东软集团有限公司");

            //单位类型（是\u0052  否\u25A1）
            //获取的单元，数据库获取
            String uniType="1,2,3";
            String str2=" %s委办局  %s行业协会  %s大型国企  %s研究所  %s其他";
            String[] uni = uniType.split(",");
            String[] paramStr = new String[]{"\u25A1","\u25A1","\u25A1","\u25A1","\u25A1"};
            for(String s : uni){
                if("1".equals(s)){
                    paramStr[0]="\u0052";
                }else if("2".equals(s)){
                    paramStr[1]="\u0052";
                }else if("3".equals(s)){
                    paramStr[2]="\u0052";
                }else if("4".equals(s)){
                    paramStr[3]="\u0052";
                }else if("5".equals(s)){
                    paramStr[4]="\u0052";
                }
            }
            String content = String.format(str2,paramStr);

           // String content=" \u25A1委办局  \u0052行业协会  \u25A1大型国企  \u25A1研究所  \u25A1其他";
            RichTextString richTextString = new HSSFRichTextString(content);
            sheet.getRow(2).getCell(1).setCellValue(richTextString);

            Row row4 = sheet.getRow(3);
            //设置第4行的，第2列数据
            row4.getCell(1).setCellValue("法人代表:刘德华");
            //设置第4行的，第4列数据
            row4.getCell(3).setCellValue("成立时间：2010-11-12");

            Row row5 = sheet.getRow(4);
            //设置第5行的，第2列数据
            row5.getCell(1).setCellValue("注册资金：1100000");
            //设置第5行的，第4列数据
            row5.getCell(3).setCellValue("人工数：500");

            Row row6 = sheet.getRow(5);
            //设置第6行的，第2列数据
            row6.getCell(1).setCellValue("注册地址：上海市浦东新区五四公路35号");
            //设置第6行的，第4列数据
            row6.getCell(3).setCellValue("邮政编码：34234111");

            Row row7 = sheet.getRow(6);
            //设置第6行的，第2列数据
            row7.getCell(1).setCellValue("办学许可证有效期：20190522-20240521");
            //设置第6行的，第4列数据
            row7.getCell(3).setCellValue("工商执照有效期：20190522-20240521");

            Row row8 = sheet.getRow(7);
            //设置第6行的，第2列数据
            row8.getCell(1).setCellValue("联系人：刘申通");
            //设置第6行的，第4列数据
            row8.getCell(3).setCellValue("职务：Java开发");

            Row row9 = sheet.getRow(8);
            //设置第6行的，第2列数据
            row9.getCell(1).setCellValue("联系电话：15921484454");
            //设置第6行的，第4列数据
            row9.getCell(3).setCellValue("邮箱：4353894192@qq.com");

            //设置第10行的，第二列数据
            sheet.getRow(9).getCell(1).setCellValue("拟上传证书名称（可多个）:44234344344");
            //设置第11行的，第二列数据
            sheet.getRow(10).getCell(1).setCellValue("证书样章上传:http://www.baidu.com");
            //设置第12行的，第二列数据
            sheet.getRow(11).getCell(1).setCellValue("证书相关说明（上传）:http://www.baidu.com");
            //设置第13行的，第二列数据
            sheet.getRow(12).getCell(1).setCellValue("其他材料上传:http://www.baidu.com");
            //设置第14行的，第二列数据
            sheet.getRow(13).getCell(1).setCellValue("初审单位意见:通过");
            //设置第15行的，第二列数据
            sheet.getRow(14).getCell(1).setCellValue("学分银行意见:通过");
            excelReader.getWriter().flush(response.getOutputStream(),true);
        }catch (Exception ex){
            ex.printStackTrace();
        }
    }
}
